perm filename PASS1.SAI[PUB,TES]2 blob sn#146879 filedate 1975-02-19 generic text, type T, neo UTF8
00100	BEGIN "PASS1"
00200	
00300	DEFINE CLANCOMPILEFILE = "PASS1" ;
00400	
00500	REQUIRE "ABC" LOAD!MODULE ;
00600	REQUIRE "DEF" LOAD!MODULE ;
00700	REQUIRE "PQR" LOAD!MODULE ;
00800	REQUIRE "STUVX" LOAD!MODULE ;
00900	
01000	DEFINE TERNAL = "INTERNAL", PRELOAD = "PRELOAD!WITH" ;
01100	
01200	REQUIRE "SHARE" SOURCE!FILE ;
01300	
01400	IFC TENEX THENC
01500		REQUIRE 30000 STRING!SPACE ;
01600		REQUIRE 2500 SYSTEM!PDL ;
01700		REQUIRE 2500 STRING!PDL ;
01800	ELSEC 	IFC ITSVER THENC 
01900			REQUIRE 10000 STRING!SPACE ;
02000		ELSEC 
02100			REQUIRE  4000 STRING!SPACE ;
02200		ENDC
02300		IFC CMUVER THENC
02400			REQUIRE 650 SYSTEM!PDL;
02500			REQUIRE 400 STRING!PDL;
02600		ELSEC
02700			REQUIRE 400 SYSTEM!PDL;
02800			REQUIRE 200 STRING!PDL;
02900		ENDC
03000	ENDC
03100	
03200	COMMENT
03300	
03400	                *** Variations at Different Sites ***
03500	
03600	The default DEVICE differs among sites.  TENEX systems have a special
03700	startup call.
03800	
03900	                                 ***
04000	
04100	
04200	This module is the Main Program, i.e., it has a starting address,
04300	performs initialization and finalization.  The operative staement is
04400	the call on MANUSCRIPT.
04500	
04600	;
04700	
04800	SYMNO ← REGULAR!SIZE - 1 ; COMMENT Assume for now that symbol table is regular size;
04900	INPGS ← 0 ; INFILE ← NULL ; PREFMODE ← 1 ; DELINT ← "Y" ;
05000	DEVICE ← IFC PARCVER THENC TTY ELSEC LPT ENDC ;
05100	
05200	IFC TENEX THENC
05300	TENEXSTART ;
05400	ELSEC
05500	IF RPGSW THEN RPGSTART ELSE SSTART; COMMENT Read file names and options;
05600	ENDC
05700	
05800	INITSIZES ;
05900	
06000	COMMENT INITIALIZATION PROCEDURE CALLS ;
06100	
06200	ALGOL! ;
06300	FILLR! ;
06400	FONTS! ;
06500	USERS! ;
06600	DATUM! ;
06700	TOKEN! ;
06800	PASTE! ;
06900	COMMD! ;
07000	AREAS! ;
07100	BLOCK! ;
07200	CTRLC! ;
07300	PORTS! ;
07400	VARBL! ;
07500	XREFS! ;
07600	TEMPL! ;
07700	CNTRS! ;
07800	RESPS! ;
07900	VERTI! ;
08000	QUADS! ;
08100	FILES! ;
08200	ERROR! ;
08300	SORCE! ;
08400	
08500	COMMENT THE COMPILATION ;
08600	
08700	MANUSCRIPT ;
08800	
08900	COMMENT FINALIZATION ;
09000	
09100	FINIXREFS ;
09200	FINIPAGES ;
09300	FINIFILES ;
09400	
09500	INTERMEDIATEFILES ;
09600	
09700	FINIDATUM ;
09800	
09900	RUNPASS2 ;
10000	
10100	CLANFINISHED
10200	
10300	END "PASS1" ;